/*
 * Created on 28-ene-2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.juanfrivaldes.cio2005.business;

import java.util.Iterator;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;

import com.juanfrivaldes.cio2005.dao.PonenciaDao;
import com.juanfrivaldes.cio2005.dao.UsuarioDao;
import com.juanfrivaldes.cio2005.domain.Ponencia;
import com.juanfrivaldes.cio2005.domain.Revision;
import com.juanfrivaldes.cio2005.domain.RevisionFinal;
import com.juanfrivaldes.cio2005.domain.Usuario;

/**
 * @author root
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Cio2005FacadeImpl implements Cio2005Facade {

	private MailSender mailSender;

	private static Log log = LogFactory.getLog(Cio2005FacadeImpl.class);

	private SimpleMailMessage message;

	/**
	 * @return Returns the ponenciaDao.
	 */
	public PonenciaDao getPonenciaDao() {
		return ponenciaDao;
	}

	/**
	 * @param ponenciaDao
	 *            The ponenciaDao to set.
	 */
	public void setPonenciaDao(PonenciaDao ponenciaDao) {
		this.ponenciaDao = ponenciaDao;
	}

	/**
	 * @return Returns the usuarioDao.
	 */
	public UsuarioDao getUsuarioDao() {
		return usuarioDao;
	}

	/**
	 * @param usuarioDao
	 *            The usuarioDao to set.
	 */
	public void setUsuarioDao(UsuarioDao usuarioDao) {
		this.usuarioDao = usuarioDao;
	}

	private PonenciaDao ponenciaDao;

	private UsuarioDao usuarioDao;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.domain.Cio2005Facade#addPonencia(com.juanfrivaldes.cio2005.domain.Ponencia)
	 */
	public void addPonencia(Ponencia ponencia) throws DataAccessException {
		ponenciaDao.addPonencia(ponencia);

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.domain.Cio2005Facade#addUsuario(com.juanfrivaldes.cio2005.domain.Usuario)
	 */
	public void addUsuario(Usuario usuario) throws DataAccessException {
		usuarioDao.addUsuario(usuario);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.domain.Cio2005Facade#getPonenciasByUsuario(java.lang.String)
	 */
	public List getPonenciasByUsuario(String nombre) throws DataAccessException {
		return ponenciaDao.getPonenciasByUsuario(nombre);
	}

	public List getPonencias() throws DataAccessException {
		return ponenciaDao.getPonencias();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.domain.Cio2005Facade#getUsuario(java.lang.String,
	 *      java.lang.String)
	 */
	public Usuario getUsuario(String nombre, String password)
			throws DataAccessException {

		return usuarioDao.getUsuario(nombre, password);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#sendMailRegistro(com.juanfrivaldes.cio2005.domain.Usuario)
	 */
	public void sendMailRegistro(Usuario usuario) throws MailException {

		// create a threadsafe "sandbox" of message
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		msg.setTo(usuario.getEmail());
		msg.setSubject("Registro en la web CIO 2005");
		msg
				.setText("Estimad@ "
						+ usuario.getNombre()
						+ " "
						+ usuario.getApellidos()
						+ ",\n\n"
						+ "Has sido registrado con exito en la Web del IX Congreso en"
						+ "Ingenieria de Organizacion ( http://cio2005.uniovi.es ) con los siguientes datos: \n"
						+ "\t - Nombre de Usuario: "
						+ usuario.getEmail()
						+ "\n\t - Password: "
						+ usuario.getPassword()
						+ "\n\n"
						+ "Atentamente,\n \tOrganizacion del IX Congreso de Ingenieria de Organizacion CIO 2005");
		mailSender.send(msg);

	}

	/**
	 * @return Returns the mailSender.
	 */
	public MailSender getMailSender() {
		return mailSender;
	}

	/**
	 * @param mailSender
	 *            The mailSender to set.
	 */
	public void setMailSender(MailSender mailSender) {
		this.mailSender = mailSender;
	}

	/**
	 * @return Returns the message.
	 */
	public SimpleMailMessage getMessage() {
		return message;
	}

	/**
	 * @param message
	 *            The message to set.
	 */
	public void setMessage(SimpleMailMessage message) {
		this.message = message;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#getUsuario(java.lang.String)
	 */
	public Usuario getUsuario(String email) throws DataAccessException {
		return usuarioDao.getUsuario(email);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#sendMailResumen(com.juanfrivaldes.cio2005.domain.Ponencia)
	 */
	public void sendMailResumen(Usuario usuario, Ponencia ponencia)
			throws MailException {
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		msg.setTo(usuario.getEmail());
		msg.setSubject("Ponencia Registrada en la web CIO 2005");
		msg
				.setText("Estimad@ "
						+ usuario.getNombre()
						+ " "
						+ usuario.getApellidos()
						+ ",\n\n"
						+ "Has registrado con exito la ponencia "
						+ ponencia.getTitulo()
						+ " en la Web del IX Congreso de "
						+ "Ingenieria de Organizacion ( http://cio2005.uniovi.es )\n\n"
						+ "Atentamente,\n \tOrganizacion del IX Congreso de Ingenieria de Organizacion-CIO 2005");
		mailSender.send(msg);

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#sendMailOlvido(com.juanfrivaldes.cio2005.domain.Usuario)
	 */
	public void sendMailOlvido(Usuario usuario) throws MailException {
		// create a threadsafe "sandbox" of message
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		msg.setTo(usuario.getEmail());
		msg.setSubject("CIO 2005 - Recordatorio de password");
		msg
				.setText("Estimad@ "
						+ usuario.getNombre()
						+ " "
						+ usuario.getApellidos()
						+ ",\n\n"
						+ "Tus datos en el Sistema del IX Congreso en"
						+ "Ingenieria de Organizacion ( http://cio2005.uniovi.es ) son: \n"
						+ "\t - Nombre de Usuario: "
						+ usuario.getEmail()
						+ "\n\t - Password: "
						+ usuario.getPassword()
						+ "\n\n"
						+ "Atentamente,\n \tOrganizacion del IX Congreso de Ingenieria de Organizacion CIO 2005");
		mailSender.send(msg);

	}

	public void sendMailConfirmacion(List ponencias) throws MailException,
			DataAccessException {
		Iterator it = ponencias.iterator();
		while (it.hasNext()) {
			Ponencia pon = (Ponencia) it.next();
			Usuario usr = usuarioDao.getUsuario(pon.getAutor());

			// comprobacion extra por seguridad
			if (!pon.getRevision().isNotificada()) {

				SimpleMailMessage msg = new SimpleMailMessage(this.message);
				//msg.setFrom("IX Congreso de Ingenieria de Organizacion");
				msg.setTo(usr.getEmail());
				msg.setSubject("CIO 2005 - Revision de ponencia");
				if (pon.getRevision().getResultado().equals("ACEPTADA")) {
					msg.setText(bodyPonenciaAceptada(usr, pon));
				} else if (pon.getRevision().getResultado().equals("POSTER")) {
					msg.setText(bodyPonenciaPoster(usr, pon));
				} else {
					msg.setText(bodyPonenciaRechazada(usr, pon));
				}

				try {
					mailSender.send(msg);
				} catch (Exception e) {
					log
							.trace("Problema al enviar mail de confirmacion para la ponencia "
									+ pon.getId()
									+ " a la direccion "
									+ usr.getEmail());
					log.trace("Causa " + e.getMessage());
				}
				ponenciaDao.marcaPonenciaConfirmada(pon.getId());
				log.trace("ponencia " + pon.getId() + " ("
						+ pon.getRevision().getResultado()
						+ ") confirmada y marcada");
			}
		}

	}

	
	
	public void sendMailConfirmacionFinal(List ponencias) throws MailException,
	DataAccessException {
Iterator it = ponencias.iterator();
while (it.hasNext()) {
	Ponencia pon = (Ponencia) it.next();
	Usuario usr = usuarioDao.getUsuario(pon.getAutor());

	// comprobacion extra por seguridad
	if (!pon.getRevisionFinal().isNotificada()) {

		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		//msg.setFrom("IX Congreso de Ingenieria de Organizacion");
		
	if(pon.getCoautores()!=null && pon.getCoautores().size()>0){
		String[] coautores=new String[pon.getCoautores().size()];
		for(int i=0;i<pon.getCoautores().size();i++)
			coautores[i]=(String)pon.getCoautores().get(i);
		msg.setCc(coautores);
	}
		
		
		msg.setTo(usr.getEmail());
		
		msg.setSubject("CIO 2005 - Revisión del trabajo final");
		
		
		String body="Estimad@ "+usr.getNombre()+"\n\n";
		if (pon.getRevisionFinal().getResultado().equals("ACEPTADA")) {
			body+=bodyFinalAceptada(usr, pon);
		} else if (pon.getRevisionFinal().getResultado().equals("POSTER")) {
			body+=bodyFinalPoster(usr, pon);
		} else {
			body+=bodyFinalRechazada(usr, pon);
		}
		body+="\n\nLe saluda atentamente,\n\nEl Comité Organizador de CIO2005-Gijón";
		msg.setText(body);
		try {
			mailSender.send(msg);
		} catch (Exception e) {
			log
					.trace("Problema al enviar mail de confirmacion para el trabajo final "
							+ pon.getId()
							+ " a la direccion "
							+ usr.getEmail());
			log.trace("Causa " + e.getMessage());
		}
		ponenciaDao.marcaFinalConfirmada(pon.getId());
		log.trace("final " + pon.getId() + " ("
				+ pon.getRevision().getResultado()
				+ ") confirmada y marcada");
	}
}

}
	private String bodyFinalAceptada(Usuario usr, Ponencia pon) {
		String str="Tenemos la satisfacción de comunicarle que el Comité Científico"
			+"del IX Congreso de Ingeniería de Organización (CIO2005) ha aceptado la ponencia:\n\n" 
			+pon.getTitulo()+"\n\n"
			+"presentada por los siguientes autores:\n\n"
			+usr.getNombre()+" "+usr.getApellidos()+"\n";
			Iterator it=pon.getCoautores().iterator();
			while(it.hasNext()){
				Usuario u=usuarioDao.getUsuario((String)it.next());
				str+=u.getNombre()+" "+usr.getApellidos()+"\n";
			}
			str+="\npara que sea presentada en el IX Congreso de Ingeniería de Organización, "
				+"que se celebrará en Gijón, los días 8 y 9 de Septiembre de 2005.\n\n"
				+"Como sabe, en el CD-ROM del Congreso se publicarán los trabajos completos que "
				+"cumplan con las especificaciones de formato establecidas, le rogamos que verifique "
				+"si su trabajo las cumple. Si tiene que realizar modificaciones, por favor, envíenos el"
				+" trabajo completo corregido a través del área de gestión de ponencias de la página http://cio2005.uniovi.es"
				+"\n\nLe informamos así mismo de que ya está abierto el plazo de inscripción en el Congreso."
				+" Todas las instrucciones necesarias para cumplimentar la inscripción las encontrará en la página web"
				+" http://cio2005.uniovi.es/cio2005/Inscripcion.do";
			return str;
	}
		private String bodyFinalPoster(Usuario usr, Ponencia pon) {
			String str="Tenemos la satisfacción de comunicarle que el Comité Científico"
				+"del IX Congreso de Ingeniería de Organización (CIO2005) ha aceptado la ponencia:\n\n" 
				+pon.getTitulo()+"\n\n"
				+"presentada por los siguientes autores:\n\n"
				+usr.getNombre()+" "+usr.getApellidos()+"\n";
				Iterator it=pon.getCoautores().iterator();
				while(it.hasNext()){
					Usuario u=usuarioDao.getUsuario((String)it.next());
					str+=u.getNombre()+" "+usr.getApellidos()+"\n";
				}
				str+="\npara que sea presentada en el IX Congreso de Ingeniería de Organización, "
					+"que se celebrará en Gijón, los días 8 y 9 de Septiembre de 2005.\n"
					+"El trabajo será presentado como PÓSTER y no como Comunicación Oral,"
					+"siguiendo las indicaciones dadas por el Comité Científico correspondiente,"
					+"o según el deseo expresado por usted.\n\n" 
					+"Como sabe, en el CD-ROM del Congreso se publicarán los trabajos completos que "
					+"cumplan con las especificaciones de formato establecidas, le rogamos que verifique "
					+"si su trabajo las cumple. Si tiene que realizar modificaciones, por favor, envíenos el"
					+" trabajo completo corregido a través del área de gestión de ponencias de la página http://cio2005.uniovi.es"
					+"\n\nLe informamos así mismo de que ya está abierto el plazo de inscripción en el Congreso."
					+" Todas las instrucciones necesarias para cumplimentar la inscripción las encontrará en la página web"
					+" http://cio2005.uniovi.es/cio2005/Inscripcion.do";
				return str;
		}
	
		private String bodyFinalRechazada(Usuario usr, Ponencia pon) {
			String str="Lamentamos comunicarle que el comité científico "
				+"del IX Congreso de Ingeniería de Organización (CIO2005) ha considerado que la ponencia:\n\n" 
				+pon.getTitulo()+"\n\n"
				+"presentada por los siguientes autores:\n\n"
				+usr.getNombre()+" "+usr.getApellidos()+"\n";
				Iterator it=pon.getCoautores().iterator();
				while(it.hasNext()){
					Usuario u=usuarioDao.getUsuario((String)it.next());
					str+=u.getNombre()+" "+usr.getApellidos()+"\n";
				}
				str+="\nno debe ser presentada en el IX Congreso de Ingeniería de Organización, "
					+"que se celebrará en Gijón, los días 8 y 9 de Septiembre de 2005.\n"
					+"\nAgradeciendo su interés por participar en el Congreso,";
					return str;
		}
	
	private String bodyPonenciaPoster(Usuario usr, Ponencia pon) {

		return "Estimad@ "
				+ usr.getNombre()
				+ "\n\n"
				+ "Tenemos la satisfaccion de comunicarle que el Comite Cientifico del IX Congreso de Ingenieria de Organizacion (CIO2005)"
				+ " ha aceptado el resumen de la comunicación: "
				+ pon.getTitulo()
				+ " de la que usted es autor principal,"
				+ "aunque el Comite ha considerado que deberia ser presentada como poster y no como comunicacion oral.\n\n"
				+ "Puesto que en el libro de actas del congreso solo se publicaran los resumenes de las comunicaciones que cumplan con las especificaciones"
				+ " de formato establecidas, le rogamos que verifique si su resumen las cumple. Si tiene que realizar modificaciones, por favor, "
				+ "consulte las instrucciones para realizar dicho cambio en la Web del Congreso : http://cio2005.uniovi.es \n\n"
				+ "Le informamos asi mismo de que ya esta abierto el plazo de envio del texto completo de la comunicacion."
				+ "Como sabe, este texto completo sera objeto de una segunda revision por parte del Comite Cientifico, "
				+ "con lo que podria reconsiderar la decisión de presentar el trabajo como poster. En la pagina web del Congreso encontrara las instrucciones "
				+ "correspondientes sobre el formato y el procedimiento de envio. Le recordamos que al enviar el trabajo completo, podra optar por presentarlo como \"comunicación oral\" "
				+ "o como \"poster\", en el caso de que finalmente el Comite decidiera aceptar el trabajo como comunicación oral."
				+ "\n\nLe saluda atentamente,\nEl Comite Organizador de CIO2005-Gijon";

	}

	private String bodyPonenciaAceptada(Usuario usr, Ponencia pon) {
		return "Estimad@ "
				+ usr.getNombre()
				+ "\n\n"
				+ "Tenemos la satisfaccion de comunicarle que el Comite Cientifico del IX Congreso de Ingeniería de Organización (CIO2005)"
				+ " ha aceptado el resumen de la comunicación: "
				+ pon.getTitulo()
				+ " de la que usted es autor principal.\n\n"
				+ "Puesto que en el libro de actas del congreso solo se publicaran los resumenes de las comunicaciones que cumplan con las especificaciones"
				+ " de formato establecidas, le rogamos que verifique si su resumen las cumple. Si tiene que realizar modificaciones, por favor, "
				+ "consulte las instrucciones para realizar dicho cambio en la Web del Congreso : http://cio2005.uniovi.es \n\n"
				+ "Le informamos asi mismo de que ya esta abierto el plazo de envio del texto completo de la comunicacion."
				+ "Como sabe, este texto completo sera objeto de una segunda revision por parte del Comite Cientifico. En la pagina web del Congreso encontrara las instrucciones "
				+ "correspondientes sobre el formato y el procedimiento de envio. Le recordamos que al enviar el trabajo completo, podra optar por presentarlo como \"comunicacion oral\" "
				+ "o como \"poster\"."
				+ "\n\nLe saluda atentamente,\nEl Comite Organizador de CIO2005-Gijon";

	}

	private String bodyPonenciaRechazada(Usuario usr, Ponencia pon) {
		return "Estimad@ "
				+ usr.getNombre()
				+ "\n\n"
				+ "Lamentamos comunicarle que el Comite Cientifico del IX Congreso de Ingenieria de Organizacion (CIO2005)"
				+ "no ha aceptado el resumen de la comunicacion: "
				+ pon.getTitulo()
				+ " de la que usted es autor principal.\n\n"
				+ "Agradeciendo su interes por participar en el congreso, le saluda atentamente,\n"
				+ "El Comite Organizador de CIO2005-Gijon";
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#getUsuarios()
	 */
	public List getUsuarios() throws DataAccessException {
		// TODO Auto-generated method stub
		return usuarioDao.getUsuarios();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#revisarPonencia(com.juanfrivaldes.cio2005.domain.Revision)
	 */
	public void revisarPonencia(Revision revision) throws DataAccessException {
		ponenciaDao.setRevision(revision);

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#getPonenciasByCategoria(java.lang.String)
	 */
	public List getPonenciasByCategoria(String categoria) {
		return ponenciaDao.getPonenciasByCategoria(categoria);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.juanfrivaldes.cio2005.business.Cio2005Facade#getPonenciasWithUsuario(java.lang.String)
	 */
	public List getPonenciasWithUsuario(String usuario)
			throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getPonenciasWithUsuario(usuario);
	}

	public List getPonenciasConfirmables() throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getPonenciasConfirmables();
	}

	public List getPonenciasConfirmablesByCategoria(String categoria)
			throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getPonenciasConfirmablesByCategoria(categoria);
	}

	public Ponencia getPonenciaById(int id) throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getPonenciaById(id);
	}

	public void marcaPonenciaFinal(Ponencia ponencia)
			throws DataAccessException {
		ponenciaDao.marcaPonenciaIntroducida(ponencia.getTipo(), ponencia
				.getId());

	}

	public void sendMailPonenciaFinal(Usuario usuario, Ponencia ponencia)
			throws MailException {
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		//msg.setFrom("IX Congreso de Ingenieria de Organizacion");
		msg.setTo(usuario.getEmail());
		msg.setSubject("Comunicacion final registrada en la Web CIO 2005");
		msg
				.setText("Estimad@ "
						+ usuario.getNombre()
						+ " "
						+ usuario.getApellidos()
						+ ",\n\n"
						+ "Has introducido con exito el texto final de la comunicacion titulada "
						+ ponencia.getTitulo()
						+ " en la Web del IX Congreso de "
						+ "Ingenieria de Organizacion ( http://cio2005.uniovi.es )\n\n"
						+ "Atentamente,\n \tOrganizacion del IX Congreso de Ingenieria de Organizacion-CIO 2005");
		mailSender.send(msg);

	}

	private String[] mailAdresses(List users) {
		if (users != null) {
			String[] adresses = new String[users.size()];
			for (int i = 0; i < users.size(); i++) {
				adresses[i] = ((Usuario) users.get(i)).getEmail();
			}
			return adresses;
		}
		log.trace("Lista de usuarios a enviar mail nula!");
		return null;
	}

	public void mailing(List destinatarios, String asunto, String cuerpo)
			throws MailException {
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		//msg.setFrom("IX Congreso de Ingenieria de Organizacion");
		msg.setTo("cio2005@uniovi.es");
		msg.setBcc(mailAdresses(destinatarios));
		msg.setSubject(asunto);
		msg.setText(cuerpo);
		log.trace("Enviado el email a "+destinatarios.size()+" personas");
		mailSender.send(msg);
	}

	public void inscribeUser(String userMail) throws DataAccessException {
		this.usuarioDao.inscribeUsuario(userMail);
	}

	public List getFinalesByCategoria(String categoria) throws DataAccessException {
return ponenciaDao.getFinalesByCategoria(categoria);
}

	public List getFinales() throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getFinales();
	}

	public void revisarFinal(RevisionFinal revision) throws DataAccessException {
		ponenciaDao.setRevisionFinal(revision);
	}

	public void enviaMailInscripcion(String userMail) throws MailException {

		Usuario usuario=this.getUsuario(userMail);
		SimpleMailMessage msg = new SimpleMailMessage(this.message);
		//msg.setFrom("IX Congreso de Ingenieria de Organizacion");
		msg.setTo(usuario.getEmail());
		msg.setSubject("Inscripcion en el congreso CIO 2005");
		msg
				.setText("Estimad@ "
						+ usuario.getNombre()
						+ " "
						+ usuario.getApellidos()
						+ ",\n\n"
						+ "Te has inscrito con exito en el IX Congreso de "
						+ "Ingenieria de Organizacion CIO 2005\n\n"
						+"Recuerda que tu inscripcion esta condicionada al ingreso de las tasas (175 Euros) "
						+" en la cuenta de la Fundacion Universidad de Oviedo 2048 0001 76 0340007797 y por "
						+ "favor indica en la transferencia CIO2005.\n\n"
						+ "Atentamente,\n\n \tOrganizacion del IX Congreso de Ingenieria de Organizacion-CIO 2005");
		mailSender.send(msg);
		
	}

	public List getInscritos() throws DataAccessException {
		return usuarioDao.getInscritos();
	}

	public List getPagados() throws DataAccessException {
		return usuarioDao.getPagados();
	}
	
	public void setPagado(String user) throws DataAccessException{
		usuarioDao.setPagado(user);
	}

	public List getFinalesConfirmables() throws DataAccessException {
		return ponenciaDao.getFinalesConfirmables();
	}

	public List getPonenciasFinalesConfirmablesByCategoria(String categoria) throws DataAccessException {
		// TODO Auto-generated method stub
		return ponenciaDao.getFinalesConfirmablesByCategoria(categoria);
	}

}
